package ExeptionTest;

import java.util.InputMismatchException;
import java.util.Scanner;

public class TryDemoTwo {
    public static void main(String[] args) {
        try {
            int result = test();
            System.out.println("商为：" + result);
        }catch(ArithmeticException e){
            System.out.println("除数不能为零");
            e.printStackTrace();
        }catch (InputMismatchException e){
            System.out.println("输入格式不对");
            e.printStackTrace();
        }

    }

    /**(文档注释)
     * @return
     * @throws ArithmeticException
     * @throws InputMismatchException
     */
    /*通过throws抛出异常时，针对可能出现的多种异常情况，解决方案：
    *1.throws后面接多个异常类型，中间用逗号分隔
    *2.throws后面接Exception
    * */
        public static int test() throws ArithmeticException,InputMismatchException{     //标识可能出现两种异常，调用的方法应该分别处理
            Scanner input = new Scanner(System.in);
            System.out.println("输入整数:");

                int one = input.nextInt();
                int two = input.nextInt();
                System.out.println("~结束~");
                return one/two;
        }

}

/*
//自己抛出异常自己捕获并处理
public void method(){
    try {
        //代码段1
        throw  new 异常类型();
    }catch (异常类型 e){
        //对异常进行处理的代码段2
    }
}
//通过throws关键字标识对应的异常类型，哪个方法调用了当前方法就处理抛出的异常
    public void method() throws 异常类型{
            //代码段1
        throw new 异常类型();
    }

 */